pacman::p_load(tidyverse, ggplot2, readr, readxl, networKD3, htmlwidgets)

library(networkD3)

setwd("C:/Users/Decio/Desktop/Artigo Organizacoes partidarias")

aluvial <- BACKGROUND_TESTE %>%
  select(SIGLAPARTIDOATUAL, FILIACAOPARTIDOANTERIOR, ANOELEICAO) %>%
  group_by(SIGLAPARTIDOATUAL, FILIACAOPARTIDOANTERIOR, ANOELEICAO) %>%
  summarise(n = n()) %>%
  arrange(n) %>%
  mutate(ANOELEICAO = factor(ANOELEICAO, levels = c(1986, 1990, 1994, 1998, 2002, 2006, 2010, 2014, 2018)))

nodes <- data.frame(
  name=c(as.character(aluvial$FILIACAOPARTIDOANTERIOR), 
         as.character(aluvial$SIGLAPARTIDOATUAL)) %>% 
    unique()
)

aluvial$IDSIGLAPARTIDOATUAL <- match(aluvial$SIGLAPARTIDOATUAL, nodes$name)-1 
aluvial$IDFILIACAOPARTIDOANTERIOR <- match(aluvial$FILIACAOPARTIDOANTERIOR, nodes$name)-1

p <- sankeyNetwork(Links = aluvial, Nodes = nodes,
                   Source = "IDFILIACAOPARTIDOANTERIOR", Target = "IDSIGLAPARTIDOATUAL",
                   Value = "n", NodeID = "name",
                   sinksRight=FALSE)
p

install.packages("htmlwidgets")

library(htmlwidgets)

saveWidget(p, file = "novos.partidos.html")

correlacao <- BACKGROUND_PARTIDOS %>% 
  select(DESEMPENHOPARTIDOANTERIOR, DESEMPENHOPARTIDONOVO) %>% 
  na.omit(DESEMPENHOPARTIDOANTERIOR, DESEMPENHOPARTIDONOVO)

cor(log10(correlacao$DESEMPENHOPARTIDOANTERIOR), log10(correlacao$DESEMPENHOPARTIDONOVO))
0.51^2

BACKGROUND_PARTIDOS %>% 
  mutate(DESEMPENHOPARTIDOANTERIOR = log10(DESEMPENHOPARTIDOANTERIOR),
         DESEMPENHOPARTIDONOVO = log10(DESEMPENHOPARTIDONOVO)) %>%
  ggplot(aes(DESEMPENHOPARTIDOANTERIOR, DESEMPENHOPARTIDONOVO)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE) +
  annotate("text", x = 2.2, y = 4.7, label = "Orlando Bezerra") +
  annotate("text", x = 3, y = 6, label = "R� = 26.4", col = "red") +
  labs(x = "Desempenho no partido anterior
(Em log de votos)",
       y = "Desempenho no partido novo
(Em log de votos)")

BACKGROUND_PARTIDOS %>% 
  group_by(CARGOANTERIOR) %>% 
  count(CARGOANTERIOR) %>% 
  ggplot(aes(x = reorder(CARGOANTERIOR, n), y = n)) +
  geom_bar(stat = "identity") +
  coord_flip() +
  geom_text(label = c(28, 147, 2, 132, 2, 3, 9, 3), hjust = "inward") +
  labs(y = "Frequ�ncia",
       x = "Ocupa��o anterior")

A <- PERFIL_PARTIDOS_GERAL %>% 
  filter(SIGLAPARTIDO %in% c("PCB", "PDC", "PEN", "PFL", "PL", "PMN",
                             "PRB", "PRN", "PROS", "PSB", "PSD", "PSDB",
                             "PSOL", "PTR", "SD")) %>% 
  ggplot(aes(SIGLAPARTIDO, MAG_DISTR)) +
  geom_boxplot(grouping = PERFIL_PARTIDOS_GERAL$MAG_DISTR) +
  theme(panel.background = element_rect(fill = "white"),
        axis.text.x = element_text(angle = 90)) +
  geom_hline(yintercept = 17, linetype = "dashed", col = "red") +
  labs(x = "Sigla do Partido", y = "Magnitude do distrito") +
  ggtitle("Magnitude dos distritos 
onde partidos que cooptam concorrem")

B <- PERFIL_PARTIDOS_GERAL %>% 
  filter(SIGLAPARTIDO %in% c("NOVO", "PAN", "PCDOB", "PHS", "PRP", "PRTB",
                             "PSC", "PSDC", "PSL", "PST", "PT DO B", "PTC",
                             "PTN", "PV")) %>% 
  ggplot(aes(SIGLAPARTIDO, MAG_DISTR)) +
  geom_boxplot(grouping = PERFIL_PARTIDOS_GERAL$MAG_DISTR) +
  theme(panel.background = element_rect(fill = "white"),
        axis.text.x = element_text(angle = 90)) +
  geom_hline(yintercept = 46, linetype = "dashed", col = "red") +
  labs(x = "Sigla do Partido", y = "Magnitude do distrito") +
  ggtitle("Magnitude de distrito 
onde outsiders concorrem")

grid.arrange(A, B, ncol = 2)

PERFIL_PARTIDOS %>% 
  ggplot(aes(ANO_ELEICAO, MAG_DISTR, col = TIPO_LEGENDA)) +
  geom_smooth() +
  scale_x_continuous(breaks = c(1986, 1990, 1994, 1998, 2002, 2006, 2010, 2014, 2018)) +
  labs(x = "Ano da elei��o", y = "Magnitude do Distrito", col = "Tipo de legenda")
